import os
from datetime import timedelta


class Config:
    # 从环境变量获取配置，默认使用开发环境
    DEBUG = os.environ.get('FLASK_DEBUG', False)
    TESTING = False
    SECRET_KEY = os.environ.get('SECRET_KEY', 'tsgl')
    # 服务器的主机URL
    SERVER_HOST=os.environ.get('SERVER_HOST', 'http://localhost:5000/')

    # 数据库配置
    SQLALCHEMY_DATABASE_URI = os.environ.get(
        'DATABASE_URL',
        'mysql+pymysql://root:1234@localhost:3306/tsgl_db?charset=utf8mb4'
    )
    SQLALCHEMY_TRACK_MODIFICATIONS = False
    SQLALCHEMY_ECHO = DEBUG  # 仅在调试模式下打印SQL

    # JWT配置
    JWT_ACCESS_TOKEN_EXPIRES = timedelta(hours=2)
    JWT_SECRET_KEY = os.environ.get('JWT_SECRET_KEY', SECRET_KEY)

    # 大模型相关配置 --------------------------
    # 1. 大模型API密钥（GLM-4.5 接口的Bearer Token）
    LLM_AUTH_TOKEN = os.environ.get(
        'LLM_AUTH_TOKEN',
        '4920cf944ff74da0b348b9fc4c1baca3.F9w1mXztqAndFzA8'  # 原硬编码的Token
    )

    # 2. 大模型API地址
    LLM_API_URL = os.environ.get(
        'LLM_API_URL',
        'https://open.bigmodel.cn/api/paas/v4/chat/completions'  # GLM官方流式接口地址
    )

    # 3. 大模型默认参数
    LLM_DEFAULT_PARAMS = {
        'model': 'glm-4.5',          # 默认模型
        'temperature': 0.6,          # 默认温度（随机性）
        'top_p': 0.95,               # 默认Top-P（采样范围）
        'max_tokens': 4096,          # 默认最大生成Token数
        'stream': True,              # 固定开启流式
        'thinking': {'type': 'disabled'},  # 固定关闭思考过程输出
        'do_sample': True,           # 固定开启采样
        'response_format': {'type': 'text'},  # 固定返回文本格式
        'tools': []                  # 固定不使用工具
    }
